﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using DataLayer.dbml;
using DataLayer.Controller;
using System.Configuration;


public partial class home_CasosPorEstado : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //this.hdnNit.Value = "899999115-00";
            this.hdnNit.Value = Request.QueryString["NIT"].ToString();
            this.GetCasosPorEstado();
        }

    }

    private void GetCasosPorEstado()
    {
        //Solo se muestran algunso estados
        DataTable dtResumen = new DataTable();
        dtResumen.Columns.Add("estado");
        dtResumen.Columns.Add("cantidad");

        string[] arrNuevo = ConfigurationManager.AppSettings["EstadoCasoNuevo"].ToString().ToUpper().Split(',');
        string[] arrPendienteContactoAliado = ConfigurationManager.AppSettings["EstadoCasoPendienteContactoAliado"].ToString().ToUpper().Split(',');
        string[] arrPendienteContactoCliente = ConfigurationManager.AppSettings["EstadoCasoPendienteContactoClientePruebas"].ToString().ToUpper().Split(',');
        string[] arrPendienteVisitaAliado = ConfigurationManager.AppSettings["EstadoCasoPendienteVisitaAliado"].ToString().ToUpper().Split(',');
        string[] arrPendienteVisitaAxesat = ConfigurationManager.AppSettings["EstadoCasoPendienteVisitaAxesat"].ToString().ToUpper().Split(',');
        string[] arrSolucionadoPendiente = ConfigurationManager.AppSettings["EstadoCasoSolucionado"].ToString().ToUpper().Split(',');

        //Recorre el arreglo y quita espacios en blanco
        for (int i = 0; i < arrNuevo.Length; i++)
        {
            arrNuevo[i] = arrNuevo[i].Trim();
        }
        for (int i = 0; i < arrPendienteContactoAliado.Length; i++)
        {
            arrPendienteContactoAliado[i] = arrPendienteContactoAliado[i].Trim();
        }
        for (int i = 0; i < arrPendienteContactoCliente.Length; i++)
        {
            arrPendienteContactoCliente[i] = arrPendienteContactoCliente[i].Trim();
        }
        for (int i = 0; i < arrPendienteVisitaAliado.Length; i++)
        {
            arrPendienteVisitaAliado[i] = arrPendienteVisitaAliado[i].Trim();
        }
        for (int i = 0; i < arrPendienteVisitaAxesat.Length; i++)
        {
            arrPendienteVisitaAxesat[i] = arrPendienteVisitaAxesat[i].Trim();
        }
        for (int i = 0; i < arrSolucionadoPendiente.Length; i++)
        {
            arrSolucionadoPendiente[i] = arrSolucionadoPendiente[i].Trim();
        }

        int nuevos = CaseController.GetSumaCasosByEstado(this.hdnNit.Value, arrNuevo);
        int pendienteContactoAliado = CaseController.GetSumaCasosByEstado(this.hdnNit.Value, arrPendienteContactoAliado);
        int pendienteContactoCliente = CaseController.GetSumaCasosByEstado(this.hdnNit.Value, arrPendienteContactoCliente);
        int pendienteVisitaAliado = CaseController.GetSumaCasosByEstado(this.hdnNit.Value, arrPendienteVisitaAliado);
        int pendienteVisitaAxesat = CaseController.GetSumaCasosByEstado(this.hdnNit.Value, arrPendienteVisitaAxesat);
        int solucionadoPendiente = CaseController.GetSumaCasosByEstado(this.hdnNit.Value, arrSolucionadoPendiente);

        //Se crea datatable con los 3 estados que se muestran
        DataRow dr1 = dtResumen.NewRow();
        DataRow dr2 = dtResumen.NewRow();
        DataRow dr3 = dtResumen.NewRow();
        DataRow dr4 = dtResumen.NewRow();
        DataRow dr5 = dtResumen.NewRow();
        DataRow dr6 = dtResumen.NewRow();
        dr1["estado"] = "Nuevos";
        dr1["cantidad"] = nuevos;
        dr2["estado"] = "Pendiente contacto aliado";
        dr2["cantidad"] = pendienteContactoAliado;
        dr3["estado"] = "Pendiente contacto cliente pruebas";
        dr3["cantidad"] = pendienteContactoCliente;
        dr4["estado"] = "Pendiente visita aliado";
        dr4["cantidad"] = pendienteVisitaAliado;
        dr5["estado"] = "Pendiente visita axesat";
        dr5["cantidad"] = pendienteVisitaAxesat;
        dr6["estado"] = "Solucionado pendiente confirmación cliente";
        dr6["cantidad"] = solucionadoPendiente;

        dtResumen.Rows.Add(dr1);
        dtResumen.Rows.Add(dr2);
        dtResumen.Rows.Add(dr3);
        dtResumen.Rows.Add(dr4);
        dtResumen.Rows.Add(dr5);
        dtResumen.Rows.Add(dr6);

        this.grd.DataSource = dtResumen;
        this.grd.DataBind();
    }

    protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if ((e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.DataRow))
        {
            for (int i = 0; i < e.Row.Cells.Count; i++)
            {
                e.Row.Cells[i].BorderStyle = BorderStyle.None;
            }
        }
    }


}
